package com.example.jms;
import javax.jms.Destination;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jms.annotation.JmsListener;
import org.springframework.jms.core.JmsMessagingTemplate;
import org.springframework.stereotype.Service;

/**
 * 消息生产者
 * @author qxw
 * 2017年10月24日
 */
@Service("producer") 
public class Producer {
		
		/**
		 * 也可以注入JmsTemplate，JmsMessagingTemplate对JmsTemplate进行了封装  
		 */
		@Autowired
	    private JmsMessagingTemplate jmsTemplate;  
	
		/**
		 * 发送消息
		 * @param destination 是发送到的队列，message是待发送的消息  
		 * @param message    是待发送的消息  
		 * 2017年10月24日
		 */
	    public void sendMessage(Destination destination, final String message){  
	        jmsTemplate.convertAndSend(destination, message);  
	    }  
	    
	    
	    /**
	     * 实现双向队列
	     * 对Producer进行改造，使其既能生产报文，又能收到消费队列中的报文
	     * @param text
	     * 2017年10月24日
	     */
	    @JmsListener(destination="out.queue")  
	    public void consumerMessage(String text){  
	        System.out.println("从out.queue队列收到的回复报文为:"+text);  
	    }  
	    
}
